The present invention is directed towards musical software, and, more particularly, towards a system that integrates musical notation technology with a unique performance generation code and synthesizer to provide realistic playback of musical scores.
Musical notation (the written expression of music) is a nearly universal language that has developed over several centuries, which encodes the pitches, rhythms, harmonies, tone colors, articulation and other musical attributes of a designated group of instruments into a score, or master plan for a performance. Musical notation arose as a means of preserving and disseminating music in a more exact and permanent way than through memory alone. In fact, the present-day knowledge of early music is entirely based on examples of written notation that have been preserved.
Western musical notation as it is known today had its beginnings in the ninth century, with the neumatic notation of the plainchant melodies. Neumes were small dots and squiggles probably derived from the accent marks of the Latin language. They acted as memory aids, suggesting changes of pitch within a melody. Guido d'Arezzo, in the 11th century, introduced the concept of a staff having lines and spaces representing distinct pitches identified by letter names. This enabled pitch to be more accurately represented.
Rhythmic notation was first introduced in the 13th century, through the application of rhythmic modes to notated melodies. Franco of Cologne, in the 13th century, introduced the modern way of encoding the rhythmic value of a note or rest into the notation character itself. Rhythmic subdivision into groups other than two or three was introduced by Petrus de Cruce at about the same time.
The modern practice of using open note heads along with solid black note heads was introduced in the 15th century, as a way of protecting paper (the new replacement for parchment) from too much ink. Clefs and signatures were in use by the 16th century. Score notation (rather than individual parts) became common by the latter part of the 16th century, as did the five-line staff. Ties, slurs, and bar lines were also introduced in the 16th century.
The rise of instrumental music in the 17th century brought with it further refinements in notation. Note heads became rounder, and various indications were introduced to delineate tempo, accent, dynamics, performance techniques (trills, turns, etc.) and other expressive aspects of the music.
During the 18th and 19th centuries, music moved out of the church and court, and into a broader public arena, in the form of orchestra concerts, theater, opera, ballet and chamber music. Instrumental ensembles grew larger and more complex, and the separation between composer and performer increased. As a result, musical notation became more and more refined. By the 20th century, musical notation had become a highly sophisticated, standardized language for specifying exact requirements for performance.
The advent of radio and recording technology in the early 20th century brought about new means of disseminating music. Although some of the original technology such as the tape recorder and the long-playing record are considered “low-fi” by today's standards, they brought music to a wider audience than ever before.
In the mid-1980's, the music notation, music publishing, and pro-audio industry began to undergo significant and fundamental change. Since then, technological advances in both computer hardware and software enabled the development of several software products designed to automate digital music production.
For example, the continual improvement in computer speed, memory size and storage size, as well as the availability of high-quality sound cards, has resulted in the development of software synthesizers. Today, both FM and sampling synthesizers are generally available in software form. Another example is the evolution of emulation of acoustical instruments. Using the most advanced instruments and materials on the market today, such as digital sampling synthesizers, high-fidelity multi-track mixing and recording techniques, and expensively recorded sound samples, it is possible to emulate the sound and effect of a large ensemble playing complex music, (such as orchestral works) to an amazing degree. Such emulation, however, is restricted by a number of MIDI-imposed limitations.
Musical Instrument Digital Interface (MIDI) is an elaborate system of control, which is capable of specifying most of the important parameters of live musical performance. Digital performance generators, which employ recorded sounds referred to as “samples” of live musical instruments under MIDI control, are theoretically capable of duplicating the effect of live performance.
Effective use of MIDI has mostly been in the form of sequencers, which are computer programs that can record and playback the digital controls generated by live performance on a digital instrument. By sending the same controls back to the digital instrument, the original performance can be duplicated. Sequencers allow several “tracks” of such information to be individually recorded, synchronized, and otherwise edited, and then played back as a multi-track performance. Because keyboard synthesizers play only one “instrument” at a time, such multi-track recording is necessary when using MIDI code to generate a complex, multi-layered ensemble of music.
While it is theoretically possible to create digital performances that mimic live acoustic performances by using a sequencer in conjunction with a sophisticated sample-based digital performance generator, there are a number of problems that limit its use in this way.
First, the instrument most commonly employed to generate such performances is a MIDI keyboard. Similar to other keyboard instruments, a MIDI keyboard is limited in its ability to control the overall shapes, effects, and nuances of a musical sound because it acts primarily as a trigger to initiate the sound. For example, a keyboard cannot easily achieve the legato effect of pitch changes without “re-attack” to the sound. Even more difficult to achieve is a sustained crescendo or diminuendo within individual sounds. By contrast, orchestral wind and string instruments maintain control over the sound throughout its duration, allowing for expressive internal dynamic and timbre changes, none of which are easily achieved with a keyboard performance. Second, the fact that each instrument part must be recorded as a separate track complicates the problem of moment-to-moment dynamic balance among the various instruments when played back together, particularly as orchestral textures change. Thus, it is difficult to record a series of individual tracks in such a way that they will synchronize properly with each other. Sequencers do allow for tracks to be aligned through a process called quantization, but quantization removes any expressive tempo nuances from the tracks. In addition, techniques for editing dynamic change, dynamic balance, legato/staccato articulation, and tempo nuance that are available in most sequencers are clumsy and tedious, and do not easily permit subtle shaping of the music.
Further, there is no standard for sounds that is consistent from one performance generator to another. The general MIDI standard does provide a protocol list of names of sounds, but the list is inadequate for serious orchestral emulation, and, in any case, is only a list of names. The sounds themselves can vary widely, both in timbre and dynamics, among MIDI instruments. Finally, general MIDI makes it difficult to emulate a performance by an ensemble of over sixteen instruments, such as a symphony orchestra, except through the use of multiple synthesizers and additional equipment, because of the following limitations:                MIDI code supports a maximum of sixteen channels. This enables discreet control of only sixteen different instruments (or instrument/sound groups) per synthesizer. To access more than sixteen channels at a time, the prior art systems using MIDI require the use of more than one hardware synthesizer, and a MIDI interface that supports multiple MIDI outputs.        MIDI code does not support the loading of an instrument sound file without immediately connecting it to a channel. This requires that all sounds to be used in a single performance be loaded into the synthesizer(s) prior to a performance.        In software synthesizers, many instrument sounds may be loaded and available for potential use in combinations of up to sixteen at a time, but MIDI code does not support dynamic discarding and replacement of instrument sounds as needed. This also causes undue memory overhead.        MIDI code does not support the application of a modification to the attack or decay portion of a sample (i.e., the start or end) without altering the original, stored sample. The prior art systems using MIDI require the creation of a new sample with the attack or decay envelope built-in, and then the retrieval of the entire sample in order to achieve the desired effect.        MIDI code allows a maximum of 127, scaled volume settings, which, at lower volume levels, often results in a “bumpy” volume change, rather than the desired, smooth volume change.        MIDI code supports pitch bend only by channel, and not on a note-by-note basis. Any algorithmic pitch bends cannot be implemented via MIDI, but must be set up as a patch parameter in the synthesizer. The prior art systems using MIDI also include a pitch wheel, which bends the pitch in real time, based on movements of the wheel by the user.        MIDI code supports panning and pedal commands only by channel, and not on a note-by-note basis.        
In view of the forgoing, consumers desiring to produce high-quality digital audio performances of music scores must still invest in expensive equipment and then grapple with problems of interfacing the separate products. Because this integration results in different combinations of notation software, sequencers, sample libraries, software and hardware synthesizers, there is no standardization that ensures that the generation of digital performances from one workstation to another will be identical. Prior art programs that derive music performances from notation send performance data in the form of MIDI commands to either an external MIDI synthesizer or to a general MIDI sound card on the current computer workstation, with the result that no standardization of output can be guaranteed. For this reason, people who desire to share a digital musical performance with someone in another location must create and send a recording.
Sending a digital sound recording over the Internet leads to another problem because transmission of music performance files are notoriously large. There is nothing in the prior art to support the transmission of a small-footprint performance file that generates a high-quality, identical audio from music notation data alone. There is no mechanism to provide realistic digital music performances of complex, multi-layered music through a single personal computer, with automatic interpretation of the nuances expressed in music notation, at a single instrument level.
Accordingly, there is a need in the art for a music performance system based on the universally understood system of music notation, that is not bound by MIDI code limitations, so that it can provide realistic playback of scores on a note-to-note level while allowing the operator to focus on music creation, not sound editing. There is a further need in the art for a musical performance system that incorporates specialized synthesizer functions to respond to control demands outside of the MIDI code limitations and provides specialized editing functions to enable the operator to manipulate those controls. Additionally, there is a need in the art to provide all of these functions in a single software application that eliminates the need for multiple external hardware components.